/**
 * Copyright &copy; 2019-2022 <a href="https://gitee.com/rit/zx-pm">zx-pm</a> All rights reserved.
 */
package com.zx.pm.modules.zx.entity;

import org.hibernate.validator.constraints.Length;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zx.pm.common.persistence.DataEntity;
import com.zx.pm.common.utils.excel.annotation.ExcelField;

/**
 * 评审专家信息管理Entity
 * @author forest
 * @version 2019-01-24
 */
public class ExpertsInfo extends DataEntity<ExpertsInfo> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// 专家姓名
	private String sex;		// 性别
	private Date birthday;		// 生日
	private String bep;		// 参与评标专业
	private String positional;		// 职称
	private String degree;		// 学位
	private String phone;		// 手机号码
	private String card;		// 身份证号码
	private String workYear;		// 工作年限
	private String fenPeiFlag;
	private String lzdId;
	private String age;
	private String evaluateGrade;
	private String evaluateContent;
	private ExpertsType expertsType;
	
	public ExpertsInfo() {
		super();
	}

	public ExpertsInfo(String id){
		super(id);
	}

	@Length(min=1, max=100, message="专家姓名长度必须介于 1 和 100 之间")
	@ExcelField(title="专家姓名", align=1, sort=1)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
	@ExcelField(title="专家性别", align=1, sort=2, dictType="sex")
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="生日", align=1, sort=3)
	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	
	@Length(min=0, max=255, message="参与评标专业长度必须介于 0 和 255 之间")
	@ExcelField(title="参与评标专业", align=1, sort=4)
	public String getBep() {
		return bep;
	}

	public void setBep(String bep) {
		this.bep = bep;
	}
	
	@Length(min=0, max=100, message="职称长度必须介于 0 和 100 之间")
	@ExcelField(title="职称", align=1, sort=5)
	public String getPositional() {
		return positional;
	}

	public void setPositional(String positional) {
		this.positional = positional;
	}
	
	@Length(min=0, max=100, message="学位长度必须介于 0 和 100 之间")
	public String getDegree() {
		return degree;
	}

	public void setDegree(String degree) {
		this.degree = degree;
	}
	
	@Length(min=0, max=100, message="手机号码长度必须介于 0 和 100 之间")
	@ExcelField(title="手机号码", align=1, sort=6)
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Length(min=0, max=100, message="身份证号码长度必须介于 0 和 100 之间")
	@ExcelField(title="身份证号码", align=1, sort=7)
	public String getCard() {
		return card;
	}

	public void setCard(String card) {
		this.card = card;
	}
	
	@Length(min=0, max=100, message="工作年限长度必须介于 0 和 100 之间")
	public String getWorkYear() {
		return workYear;
	}

	public void setWorkYear(String workYear) {
		this.workYear = workYear;
	}

	public String getFenPeiFlag() {
		return fenPeiFlag;
	}

	public void setFenPeiFlag(String fenPeiFlag) {
		this.fenPeiFlag = fenPeiFlag;
	}

	public String getLzdId() {
		return lzdId;
	}

	public void setLzdId(String lzdId) {
		this.lzdId = lzdId;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	@ExcelField(title="专家评价", align=1, sort=8, dictType="evaluate_grade")
	public String getEvaluateGrade() {
		return evaluateGrade;
	}

	public void setEvaluateGrade(String evaluateGrade) {
		this.evaluateGrade = evaluateGrade;
	}

	@ExcelField(title="专家评价内容", align=1, sort=9)
	public String getEvaluateContent() {
		return evaluateContent;
	}

	public void setEvaluateContent(String evaluateContent) {
		this.evaluateContent = evaluateContent;
	}

	//@ExcelField(title="专家分类", align=1, sort=2)
	public ExpertsType getExpertsType() {
		return expertsType;
	}

	public void setExpertsType(ExpertsType expertsType) {
		this.expertsType = expertsType;
	}
	
	
	
}